package com.baosight.risk.api.rire;

import com.baosight.risk.base.entity.MultipleUpdateStatus;
import com.baosight.risk.base.service.BaseService;
import com.baosight.risk.service.riim.entity.RiimRiskImport;
import com.baosight.risk.service.rire.entity.RireRiskTarget;
import com.baosight.risk.service.rire.entity.RireRiskWarningStatus;
import com.baosight.risk.service.rire.vo.RireRiskVO;
import com.baosight.risk.service.rire.vo.RiskWarningStatusVO;
import com.baosight.risk.service.rire.vo.RiskWarningVO;
import com.baosight.risk.service.xtzy.entity.XtzyUser;

import java.util.List;
import java.util.Map;

public interface RireRiskReportService extends BaseService<RiimRiskImport> {

    List<RiskWarningStatusVO> selectList(RireRiskWarningStatus warningStatus);


    List<RireRiskWarningStatus> getByIds(List<String> ids);

    /**
     * 保存披露报告
     *
     * @param RireRiskVO
     * @return
     */
    Integer saveRireRisk(RireRiskVO RireRiskVO, XtzyUser user);

    /**
     * 披露报告==媛引上年
     *
     * @param circulationId 流转ID
     * @return
     */
    Integer saveByLastYear(String importId, String circulationId, String quarter, XtzyUser user);

    /**
     * 根据重点风险ID查询披露报告
     *
     * @param id
     * @return
     */
    RiskWarningVO getById(String id);

    List<String> selectGoalDetail(String importId, String targetNo, String compCode);

    Integer updateStatus(MultipleUpdateStatus updateStatus);

    /**
     * 风险指标预测下期预测值
     *
     * @param target
     * @return
     */
    RireRiskTarget predictNextValue(RireRiskTarget target);


    Map selctIndex(String sortFlag) throws Exception;

    /**
     * 批量删除披露报告
     * @param ids
     */
    void deleteRiskWarningStatus(List<String> ids) throws Exception;
}
